﻿export interface IAddParams {
  ActionName?: string;
  Entity: {
    ApprovalTime?: string;
    Approver?: string;
    BillCode?: string;
    BillStatus?: string;
    CarNo?: string;
    Company?: string;
    EntryTime?: string;
    GroupId?: string;
    IdCardBackPhotoId?: string;
    IdCardFrontPhotoId?: string;
    IdCardNo?: string;
    LeaveTime?: string;
    Name?: string;
    Phone?: string;
    Receptionist?: string;
    ReceptionistPhone?: string;
    RejectReason?: string;
    Remark?: string;
    ReservationTime?: string;
    UserId?: string;
    VisitorReasonId?: string;
    WorkflowStatus?: string;
  };
}

export interface IAddResponse {
  CreateBy: string;
  CreateTime: string;
  ID: string;
  UpdateBy: string;
  UpdateTime: string;
  VisitorReasonId: string;
}

export interface ISearchParams {
  Limit: number;
  Page: number;
}

export interface ISearchResponse {
  CanApprove?: boolean;
  CarNo?: string;
  Company?: string;
  ID: string;
  IdCardFrontPhotoId?: string;
  IdCardNo?: string;
  Name?: string;
  Phone?: string;
  Receptionist?: string;
  ReceptionistPhone?: string;
  Remark?: string;
  ReservationTime?: string;
  VisitorReasonId?: string;
  VisitorReasonName?: string;
  BillStatus?: string;
  WorkflowStatus?: string;
}


export interface IDetailsResponse {
  DeletedFileIds: string[];
  Entity: {
    WorkflowStatus: string;
    BillStatus: string;
    CarNo: string;
    Company: string;
    CreateBy: string;
    CreateTime: string;
    ID: string;

    IdCardFrontPhoto: {
      FileExt: string;
      FileName: string;
      ID: string;
      Length: number;
      SaveMode: string;
      UploadTime: string;
    };

    IdCardFrontPhotoId: string;
    IdCardNo: string;
    Name: string;
    Phone: string;
    Receptionist: string;
    ReceptionistPhone: string;
    Remark: string;
    ReservationTime: string;
    UpdateBy: string;
    UpdateTime: string;
    VisitorReason: {
      CreateBy: string;
      CreateTime: string;
      GroupId: string;
      ID: string;
      IsActive: boolean;
      ReasonName: string;
      UpdateBy: string;
      UpdateTime: string;
    };
    VisitorReasonId: string;
  };
  IsMyApprove: boolean
}

export interface ISysGroupsResponse {
  Disabled: boolean;
  ParentId: string;
  Selected: boolean;
  Text: string;
  Value: string;
}
